Remote visualization solutions allow end-users of a graphical desktop to interact with graphical applications from a remote machine (e.g., a thin client).
Thin client viewers receive images over the network, which are rendered to give end-users the impression that they are using an application locally on their computer or workstation.
There are a number of remote visualization applications available at present. Some of them, such as the exported display feature of X11, Citrix Presentation Server (Citrix is a trade mark of Citrix Systems, Inc.), or Terminal Services (i.e., Remote Desktop Services) from Microsoft Corporation, use a specialized protocol to transmit messages to connected viewers or to display information in the case of X11. Alternatives, including Virtual Network Computing (VNC), comprise a server that monitors for any modifications and transmits a compressed image reflecting such modifications from the server back to one or more clients (i.e., end-stations).
One major limitation of all of these known approaches is bandwidth saturation. This is especially true in the case of VNC, for which the number of connected end-stations (e.g., client ‘viewers’) to a single computing device may be large. As a server identifies changes to such computing device, it must distribute these changes to each of the connected end-stations. Although specialized algorithms have been developed to decimate and compress updated information that must be sent to end-stations, the server still must transmit the resultant data block to each end-station in order to keep the display of each end-station in sync with the server.
As the number of end-stations or the number of required data updates increases, network bandwidth resources become saturated with such updates, resulting in a lower throughput for each connected end-station.